//
//  UnitCubeShape.h
//  Ray Tracer
//
//  Created by Kaila, Ashish on 4/8/13.
//  Copyright (c) 2013 Kaila, Ashish. All rights reserved.
//

#ifndef __Ray_Tracer__UnitCubeShape__
#define __Ray_Tracer__UnitCubeShape__

#include "UnionShape.h"

class UnitCubeShape : public SceneObject
{
public:
    UnitCubeShape(Material* material);
    
	bool intersect( Ray3D& ray, const Matrix4x4& worldToModel,
                   const Matrix4x4& modelToWorld ) const;
    
    // Returns true if world point is contained within the object
    virtual bool contains(const Point3D& worldPoint, const Matrix4x4& worldToModel) const;
    
private:
    UnionShape _cube;
};

#endif /* defined(__Ray_Tracer__UnitCubeShape__) */
